import base from '../../request/base'; // 导入接口域名列表
import axios from '../../request/http'; // 导入http中创建的axios实例
//状态
const state = {
    //班次列表
    shiftList: [],
    //班次列表加載狀態
    shiftLoading: false,
    //车辆列表
    carList:[],
    //车辆列表加载转改
    carLoading:false,
    //人员列表
    manList:[],
    //人员加载状态
    manLoading:false,
    //班次添加
    isShowAdd: false,
    //班次编辑
    isShowEdit:false,
    //选择车辆
    isShowCar: false,
    //选择人员
    isShowMan: false,
    //当前编辑班次
    curSelClass:{},
    //当前人员选择类型
    manType: "1", //1:驾驶员、2：乘务员
    //当前选中路线id
    curLine:"",
    //当前选中车队
    teamIds:[]
};

const getters = {
    getShiftList(state) {
        return state.shiftList;
    },
    getItemData(state, item) {
        return state[item];
    }
}

const mutations = {
    //班次列表
    setShiftList(state, list) {
        state.shiftList = list;
    },
    setItem(state, param) {
        state[param.key] = param.value;
    }
}

const actions = {
    //获取班次列表
    setShiftList_act(context, param) {
        context.commit('setItem', { key: 'shiftLoading', value: true })
        axios.post(`${base.sq}/attendance/sys_attendance/attendace/v1/atten_shifit_list`, param).then((data => {
            context.commit('setItem', { key: 'shiftLoading', value: false })
            var list = data.data.shifts;
            context.commit('setShiftList', list)
        }));
    },
    //修改部分键值
    setItem_act(context, param) {
        context.commit('setItem', param)
    },
    //获取车辆
    setCarList_act(context, param) {
        context.commit('setItem', { key: 'carLoading', value: true })
        var reqPram = {
            "lineId":"",
            "pageNo":0,
            "pageSize":1000
        }
        reqPram.lineId = param.lineId||context.state.curLine;
        axios.post(`${base.sq}/attendance/sys_attendance/attendace/v1/bus_list`, reqPram).then((data => {
            context.commit('setItem', { key: 'carLoading', value: false })
            var list = data.data||[];
            context.commit('setItem',{key:'carList',value:list});
        }));
    },
    //获取人员列表
    setManList_act(context, param) {
        context.commit('setItem', { key: 'manLoading', value: true })
        axios.post(`${base.sq}/attendance/sys_attendance/attendace/v1/emp_list`, param).then((data => {
            context.commit('setItem', { key: 'manLoading', value: false })
            var list = data.data;
            context.commit('setItem',{key:'manList',value:list});
        }));
    },
}

export default {
    namespaced: true,//用于在全局引用此文件里的方法时标识这一个的文件名
    state,
    getters,
    mutations,
    actions
}